#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")

#include "register/tilingdata_base.h"

namespace optiling {
BEGIN_TILING_DATA_DEF(DepthToSpaceTilingData)
  TILING_DATA_FIELD_DEF(uint64_t, totalLength);
  TILING_DATA_FIELD_DEF(uint64_t, tileNum);
  TILING_DATA_FIELD_DEF(int8_t, mode);
  TILING_DATA_FIELD_DEF(int8_t, data_format);
  TILING_DATA_FIELD_DEF(uint64_t, block_size);
  TILING_DATA_FIELD_DEF(uint64_t, n);
  TILING_DATA_FIELD_DEF(uint64_t, h);
  TILING_DATA_FIELD_DEF(uint64_t, w);
  TILING_DATA_FIELD_DEF(uint64_t, c);
  TILING_DATA_FIELD_DEF(uint64_t, cb);
  TILING_DATA_FIELD_DEF(uint64_t, cbb);
  TILING_DATA_FIELD_DEF(uint64_t, input_size);

  TILING_DATA_FIELD_DEF(uint64_t, blockLength);
  TILING_DATA_FIELD_DEF(uint64_t, tileLength);
  TILING_DATA_FIELD_DEF(uint32_t, tileSize);
  TILING_DATA_FIELD_DEF(uint64_t, shape2);
  TILING_DATA_FIELD_DEF(uint64_t, shape3);
  TILING_DATA_FIELD_DEF(uint64_t, suf3);
  TILING_DATA_FIELD_DEF(uint64_t, suf4);
  TILING_DATA_FIELD_DEF(uint64_t, transsuf3);
  TILING_DATA_FIELD_DEF(uint64_t, transsuf4);
  TILING_DATA_FIELD_DEF(uint64_t, bufferSize);
  TILING_DATA_FIELD_DEF(uint64_t, stride);
END_TILING_DATA_DEF;

REGISTER_TILING_DATA_CLASS(DepthToSpace, DepthToSpaceTilingData)
}
